package com.magicstone.common.Licence.domain;

import java.util.Date;

import com.google.gson.annotations.Expose;

public class SysInfo {

	public enum AUTH_TYPE{
		PERMERNANT(1), DURATION(2), DEADLINE(3);
		private AUTH_TYPE(int t){
			_type = t;
		}
		
		public int toInt(){
			return _type;
		}
		private int _type;
	};

	//Anti change time.
	@Expose
	private Date apply; 
	@Expose
	private Date lastBeat;
	@Expose
	private Integer beated;
	@Expose
	private AUTH_TYPE at;
	@Expose
	private Integer duration;
	@Expose
	private Date deadline;
	
	// Machine information.
	@Expose
	private String mac;
	@Expose
	private String cpu;
	@Expose
	private String hd;
	@Expose
	private String digest;
	
	private Date now;
	public SysInfo(){
		this.now = new Date();
	}
	
	public Date getLastBeat() {
		return this.lastBeat;
	}
	public void setLastBeat(Date lastBeat) {
		this.lastBeat = lastBeat;
	}
	public AUTH_TYPE getAt() {
		return this.at;
	}
	public void setAt(AUTH_TYPE at) {
		this.at = at;
	}
	public Integer getDuration() {
		return this.duration;
	}
	public void setDuration(Integer duration) {
		this.duration = duration;
	}
	public Date getDeadline() {
		return this.deadline;
	}
	public void setDeadline(Date deadline) {
		this.deadline = deadline;
	}
	public String getMac() {
		return this.mac;
	}
	public void setMac(String mac) {
		this.mac = mac;
	}
	public String getCpu() {
		return this.cpu;
	}
	public void setCpu(String cpu) {
		this.cpu = cpu;
	}
	public String getHd() {
		return hd;
	}
	public void setHd(String hd) {
		this.hd = hd;
	}
	public Date getNow() {
		return this.now;
	}
	public void setNow(Date now) {
		this.now = now;
	}
	public Integer getBeated() {
		return this.beated;
	}
	public void setBeated(Integer beated) {
		this.beated = beated;
	}

	public String getDigest() {
		return this.digest;
	}

	public void setDigest(String digest) {
		this.digest = digest;
	}

	public Date getApply() {
		return this.apply;
	}

	public void setApply(Date apply) {
		this.apply = apply;
	}
}
